Ggplot2 adalah library visualisasi data populer di r, bagian dari ekosistem tidyverse, yang dirancang berdasarkan prinsip grammar of graphics. Dengan ggplot2, pengguna dapat membuat berbagai jenis grafik, mulai dari yang sederhana hingga kompleks, melalui pendekatan modular dengan menambahkan lapisan (layers) seperti geometri (geoms), peta estetika (aes), tema, atau label. Komponen utama ggplot2 meliputi data dalam bentuk data frame, mapping variabel ke elemen visual dengan aes(), serta geometri seperti geom_point() untuk scatter plot, geom_line() untuk grafik garis, atau geom_histogram() untuk histogram. Selain itu, fitur facet memungkinkan pembuatan subplot berdasarkan kategori tertentu, sementara tema bawaan seperti theme_minimal() dan theme_classic() memberikan fleksibilitas desain. Keunggulan ggplot2 terletak pada modularitasnya yang memungkinkan modifikasi mudah, fleksibilitas dalam membuat grafik kompleks, konsistensi sintaksis, dan dukungan kustomisasi tema yang luas. Library ini ideal untuk menyajikan data dengan visualisasi yang informatif dan estetis.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
Pastikan paket ggplot2 sudah terinstal dan diaktifkan dalam lingkungan R sebelum digunakan. Jika belum terinstal, Anda dapat memasangnya dengan perintah: install.packages(“ggplot2”). Setelah itu, aktifkan paket dengan menjalankan perintah: library(ggplot2).
data <- data.frame(x = rnorm(100), y = rnorm(100))
Sebelum membaca data, pastikan file berada di lokasi yang benar dengan format yang sesuai, seperti CSV atau Excel. Jika diperlukan, atur direktori kerja menggunakan setwd() agar R dapat mengakses file dengan mudah. Pastikan juga paket yang relevan, seperti readr untuk file CSV, telah diinstal dan diaktifkan.
Periksa struktur file untuk memastikan data terorganisir dengan baik, termasuk nama dan tipe kolom, agar konsisten dengan analisis yang direncanakan. Gunakan fungsi yang sesuai untuk membaca data, misalnya read_csv() untuk file CSV atau read_excel() untuk file Excel. Setelah data diimpor, tinjau beberapa baris awal dengan fungsi seperti head() untuk memastikan file telah dibaca dengan benar dan siap digunakan.
library(readr)
## Warning: package 'readr' was built under R version 4.4.2
Data <- read_csv("Data.csv")
## Rows: 44325 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): geo, Negara, Benua
## dbl (5): Tahun, Angka_Harapan_Hidup, Pendapatan_per_kapita, Populasi, Jumlah...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(Data)
Setelah data yang akan digunakan berhasil dipanggil, langkah selanjutnya adalah menentukan jenis grafik yang sesuai untuk visualisasi data tersebut. Setiap jenis grafik memiliki fungsi dan tujuan yang berbeda, sehingga pemilihannya perlu disesuaikan dengan data dan informasi yang ingin disampaikan. Dalam ujian ini, terdapat setidaknya 4 jenis visualisasi data yang harus dibuat, seperti berikut:
Grafik univariat digunakan untuk menganalisis dan menampilkan distribusi satu variabel, membantu memahami pola, penyebaran, dan karakteristik data, seperti rata-rata, median, dan outlier. Salah satu Contohnya adalah histogram.
# Histogram angka_harapan_hidup
library(ggplot2)
#memasukkan data ke x yaitu angka harapan hidup
ggplot(Data, aes(x = Angka_Harapan_Hidup)) +
#binwidth = 5: Lebar tiap bin (kelompok) adalah 5
#fill = "skyblue" Warna isi histogram.
#color = "black" Warna garis tepi histogram.
geom_histogram (binwidth = 5, fill = "chocolate", color = "black") +
labs(title = "Histogram Angka Harapan Hidup", #judul
x = "Angka Harapan Hidup", #nama sumbu x
y = "Frekuensi") + #nama sumbu y
#untuk memberikan tamoilan yang bersih
theme_minimal()
Grafik bivariat digunakan untuk menganalisis hubungan antara dua variabel, membantu memahami pola, korelasi, atau keterkaitan di antara keduanya. Salah satu Contohnya adalah scatter plot.
library(ggplot2)
# Membuat scatter plot sederhana untuk analisis bivariat
#memasukkan data ke x yaitu pendapatan per kapita dan y yaitu angka harapan hidup
#color = benua : pemberian warna ke masing-masing benua
ggplot(Data, aes(x = Pendapatan_per_kapita, y = Angka_Harapan_Hidup, color = Benua)) +
#size = 2 : ukuran point
geom_point(size = 1) +
labs(title = "Pendapatan Per Kapita dengan Angka Harapan Hidup", #judul
x = "Pendapatan Per Kapita", #nama sumbu x
y = "Angka Harapan Hidup") + #nama sumbu y
#untuk memberikan tampilan yang bersih
theme_minimal()
Grafik multivariat digunakan untuk menganalisis hubungan atau pola di antara tiga atau lebih variabel secara bersamaan.Grafik ini membantu dalam memahami interaksi dan pola yang lebih kompleks dalam data.
library(ggplot2)
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.4.2
library(readxl)
## Warning: package 'readxl' was built under R version 4.4.2
# Membaca dataset
Data <- read_csv("Data.csv")
## Rows: 44325 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): geo, Negara, Benua
## dbl (5): Tahun, Angka_Harapan_Hidup, Pendapatan_per_kapita, Populasi, Jumlah...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
colnames(Data)
## [1] "geo" "Negara" "Benua"
## [4] "Tahun" "Angka_Harapan_Hidup" "Pendapatan_per_kapita"
## [7] "Populasi" "Jumlah_anak"
library(RColorBrewer)
# Menghitung rata-rata Angka Harapan Hidup berdasarkan Benua dan Tahun
Data_summary <- aggregate(Angka_Harapan_Hidup ~ Benua + Tahun, data = Data, FUN = mean)
# Mengubah data menjadi format matriks
Data_matrix <- dcast(Data_summary, Benua ~ Tahun, value.var = "Angka_Harapan_Hidup")
# Mengubah data ke dalam format panjang agar bisa dipakai untuk plotting
Data_long <- melt(Data_matrix, id.vars = "Benua", variable.name = "Tahun", value.name = "Angka_Harapan_Hidup")
# Mengonversi kolom Tahun menjadi numerik
Data_long$Tahun <- as.numeric(as.character(Data_long$Tahun))
# Membuat heatmap
ggplot(Data_long, aes(x = Tahun, y = Benua, fill = Angka_Harapan_Hidup)) +
geom_tile() + # Menggambar kotak warna
scale_fill_gradientn(colors = brewer.pal(9, "YlOrBr"), # Warna dari palet Oranges
name = "Angka Harapan Hidup") + # Nama untuk legenda
labs(title = "Heatmap Angka Harapan Hidup Berdasarkan Benua dan Tahun", # Judul plot
x = "Tahun", # Label sumbu X
y = "Benua") + # Label sumbu Y
scale_x_continuous(breaks = seq(min(Data_long$Tahun),
max(Data_long$Tahun),
by = 30)) + # Menampilkan label tiap 30 tahun
theme_minimal(base_size = 13) + # Tema minimalis
theme(plot.title = element_text(hjust = 0.5)) # Memusatkan judul
Grafik interaktif digunakan untuk menyajikan data secara visual dengan cara yang memungkinkan pengguna untuk berinteraksi langsung dan memungkinkan eksplorasi data yang lebih fleksibel.
library(plotly)
## Warning: package 'plotly' was built under R version 4.4.2
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
# Kode untuk grafik interaktif dengan animasi
plot_ly(Data,
x = ~Pendapatan_per_kapita,
y = ~Angka_Harapan_Hidup,
type = 'scatter',
mode = 'markers',
# Mengubah warna titik
marker = list(color = 'chocolate', size = 10),
# Menambahkan frame berdasarkan tahun
frame = ~Tahun,
# Menggunakan ID unik untuk setiap titik
ids = ~Negara) %>%
layout(title = "Interaktif: Pendapatan per Kapita vs Angka Harapan Hidup",
xaxis = list(title = "Pendapatan per Kapita"),
yaxis = list(title = "Angka Harapan Hidup")) %>%
animation_opts(frame = 100, redraw = TRUE) %>% # Mengatur kecepatan animasi
animation_slider(currentvalue = list(prefix = "Tahun: ")) # Menambahkan slider untuk tahun
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents (A. T. de Carvalho, Lechevallier, and Melo 2012). For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.